进阶课程⑱丨Apollo感知之旅——传感器标定
传感器标定的分类包括:绝对标定、相对标定或比较标定、静态标定和动态标定。
绝对标定—被测量是由高精度的设备产生并测量其大小的,特点:精度较高,但较复杂。
相对标定或比较标定—被测量是用根据绝对标定法标定好的标准传感器来测量的,特点:简单易行,但标定精度较低。
静态标定—确定传感器的静态指标,主要有线性度、灵敏度、迟滞和重复性。
动态标定—确定传感器的动态指标,主要有时间常数、自然振荡频率和阻尼比等。
上周阿波君为大家详细介绍了「进阶课程⑰Apollo感知之旅——传感器选择和安装」。
在无人车中使用的传感器主要有激光雷达Lidar,相机和毫米波雷达Radar,它们的工作原理及特性。传感器的安装需要科学、合理的安装,还需要从整车的角度考虑,需要考虑安全,风阻,美观和清洗等因素。
传感器标定是通过实验建立传感器输出与输入之间的关系并确定不同使用条件下的误差这样一个过程。
本周阿波君将与大家分享Apollo感知之旅——传感器标定。下面,我们一起进入进阶课程第18期。
以下,ENJOY
在选好、安装完传感器之后,需要对传感器进行标定。标定的核心概念是得到传感器之间的相对位置,将不同传感器的数据在同一个坐标系中表示。标定分为内参标定和外参标定。内参是传感器自身性质,有些是厂家提供,有些需要自行标注,例如Camera焦距的定期矫正,Lidar中各激光管的垂直朝向角。外参是传感器之间的相对位置和朝向,一般由6个自由度表示,自由度的旋转矩阵和自由度的水平位移。
本节简要介绍常用的标定算法。有些算法是在搭建的标定间完成,有些是在自然环境中完成,在自然环境中标定对算法的依赖度比较强。
Lidar内参标定:相对于摄像头,激光雷达的内参标定有一定的特殊性。
Lidar-to-GPS外参标定:计算出Lidar与车上GPS的相对位置。GPS的位置由世界坐标系中的3D点表示,因此计算出外参之后可以计算得到Lidar在世界坐标系中的位置。
Lidar-to-Lidar外参标定:计算不同Lidar之间的相对位置。
Lidar-to-Camera外参标定:计算Lidar和相机之间的相对位置。
Camera-to-Camera外参标定:计算不同相机之间的相对位置。
自然场景中的Lidar-to-Camera外参标定:在自然环境中,驾驶车辆进行两种不同传感器之间的位置关系求解。
自然场景中的Bifocal Camera外参标定:双焦点摄像头之间外参的计算,也是就是不同焦点的相对位置。
Camera-to-Radar外参标定:摄像机到毫米波雷达的外参计算。
在空旷房间的墙面贴满不同的二维码,然后在标定间中间放置一个基于激光雷达的毫米级高精度Rigel激光扫描仪,通过对墙上二维码的多次扫描,完成3D建模,获得了标定间任何一个点的3D位置。根据建模结果输出一个查找表,查找表由两栏组成,第一栏是Tag_ID,表示各个二维码的ID编号,第二栏是二维码四个角的3D位置信息。之后即可在标定间进行不同传感器的参数标定。
3D标定间制作
假设在采集车前部安装双Camera,Camera1是60度广角短焦距相机,Camera2为30度广角长焦距相机,两者视角部分重叠。
将车开到标定间,双Camera采集标定间的二维码,获得多个二维码对应四个角点的UV坐标,同时通过查找表得到对应点在3D世界坐标系(Rigel)中的坐标。求解采集点的PNP问题的,得到相机相对于世界坐标系的位移矩阵Ts和Tl,将这两个相对位移矩阵相互传递,得到二者之间的相对位置。整个流程如下图所示。需要注意的是,标定完传感器之后需要进行验证。相机标定的验证方法为,将长焦相机的图像投影到广角相机图像中,看看重合度如何。如果出现重影或者连接不好,则需要重新标定。
标定间双Camera标定流程
将Camera看到的所有Tag角点与Rigel扫出的对应点的3D坐标进行匹配,求解PNP问题,得到Camera相对于Rigel世界坐标系的相对位置。
将Lidar激光雷达扫描得到的点云与Rigel是稠密的点云之间进行ICP(Iterative Closest Point,迭代最近点)匹配,得到激光雷达相对于Rigel的位置。最后将两个位置矩阵相互传递得到Camera 和 Lidar之间的相对位置,具体流程如下所示。其标定结果验证方法是将激光雷达感知到的3D点云投影到Camera拍摄的图像上,看边界是否一致,如果不一致需要重新标定。
Lidar-to-Camera标定流程
将每一个Lidar 激光雷达扫描得到的点云与Rigel是稠密的点云之间进行ICP(Iterative Closest Point,迭代最近点)匹配,分别得到激光雷达相对于Rigel的位置。最后将两个位置矩阵相互传递得到Lidar和 Lidar之间的相对位置。
验证方法为:将两个激光雷达采集到的点云都投到真实物理世界中,看点云是否模糊、是否锐利。如果比较模糊,则需要重新标定。
借助Rigel,在开阔平坦的场景下进行完整扫描,得到场景的点云。然后,将要标定的激光雷达对同一个场地进行同样的扫描。之后对两次扫描的点云进行匹配,如果激光雷达的内参不准确,会出现远距离地面点浮在空中的现象。
将车辆在空旷地区绕八字行驶多次,记录多个时间点GPS给出的车辆位置信息(相对于GPS为原点的世界坐标系),将Lidar捕捉的多帧点云投影到世界坐标系中,并进行拼接,求解优化获得外参。
由于没有了Rigel-Tag,需要在标定的场景中寻找具有明显边缘的物体作为参照物,将该参照物的点云边缘和Camera拍摄图像的边缘对齐作为参数标定效果的考量指标,如果对齐,这表示标定结果良好。
过程类似于Camera-to-Camera外参标定,但是需要在自然场景中找到边缘锐利的物体作为参照物。
Camera-to-Radar外参标定的重点是得到Radar相对于Camera的Pitch角的上下倾斜问题。通常情况下Radar是水平安装的,问题就转换为求得Camera相对于地面的Pitch角。由于Camera-to-Lidar已经标定好,可以通过Lidar采集到的平面信息解决倾角问题。
阿波君说:
在学习过程中,开发者不仅可以在Apollo开发者社区小程序上对课程内容进行提问,还可以在开发者微信群中交流学习心得,共同学习自动驾驶技术。
开发者社区还将在公众号上定期推送课程相关的技术干货,全程陪伴大家共同进步。祝Apollo开发者们顺利完成《Apollo自动驾驶进阶课程》的学习,在自动驾驶道路上越走越远!
阿波君还欢迎大家在小程序内晒出学习笔记,也可以加入开发者交流社群与大家交流互动,有好礼相送!
观看/阅读完该节课程后
在开发者社群
及小程序「社区问答」版块内
上传你的课程笔记截图
手写笔记/电脑文档均可
即可联络社区小助手获取
百度周边纪念品1份
赶快来撩吧~比心~